package n04;
//7.3 遍历枚举值
//所有的枚举类，其父类都是Enum，它提供有一些方法：
//比如name()返回定义的枚举常量的名字，ordinal()返回定义枚举常量从0开始的顺序。toString()的返回值和name()相同，但name和ordinal方法都是final最终的，不能重写，而toString可以重写。
//另外在定义枚举时，编译器会自动插入一些静态的方法，比如：values()方法可返回一个包含定义的所有枚举常量的数组，valueOf(String)可将字符串转换为枚举值。

public class N02 {
	public static void main(String[] args) {
		System.out.println(Sex.class.getSuperclass());//枚举的父类是java.lang.Enum
		System.out.println(Enum.class.getSuperclass());//Enum的父类是java.lang.Object
		Sex[] values = Sex.values(); //获取Sex枚举的所有取值，保存倒Sex数组中
		for(Sex sex: values) { 
			System.out.println(sex.ordinal()+"\t"+ sex.name()+"\t"+sex.toString());
		}
		Sex sex = Sex.valueOf("MALE");
		System.out.printf("字符串转换为枚举值：%s，枚举值的比较：%b", sex, sex==Sex.MALE);
	}

}
